From dae757ae2d7e6be851d6e926fbc10c3d305729ba Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Mon, 22 Jan 2001 13:10:20 +0000 Subject: [PATCH] (Fformat): Don't extend text properties from arguments to padding chars in the result. --- src/editfns.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/editfns.c b/src/editfns.c index 1871c54d2b7..590d1771338 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -3310,9 +3310,8 @@ Use %% to put a single % into the output.") if (STRINGP (args[n])) { - int padding, nbytes; + int padding, nbytes, start, end; int width = lisp_string_width (args[n], -1, NULL, NULL); - int start = nchars; /* If spec requires it, pad on right with spaces. */ padding = minlen - width; @@ -3320,9 +3319,11 @@ Use %% to put a single % into the output.") while (padding-- > 0) { *p++ = ' '; - nchars++; + ++nchars; } + start = nchars; + if (p > buf && multibyte && !ASCII_BYTE_P (*((unsigned char *) p - 1)) @@ -3334,6 +3335,7 @@ Use %% to put a single % into the output.") STRING_MULTIBYTE (args[n]), multibyte); p += nbytes; nchars += XSTRING (args[n])->size; + end = nchars; if (negative) while (padding-- > 0) @@ -3354,7 +3356,7 @@ Use %% to put a single % into the output.") } info[n].start = start; - info[n].end = nchars; + info[n].end = end; } } else if (INTEGERP (args[n]) || FLOATP (args[n])) -- 2.30.2